package com.zhonglz.service;

import java.util.List;
import java.util.Map;

import org.springframework.web.multipart.MultipartFile;

import com.zhonglz.model.BuCertInfo;
import com.zhonglz.system.domian.SetCertMain;
import com.zhonglz.util.result.ResultUtils;

public interface BuCertInfoService {

	/****
	 * 软证书生成
	 * @param setCertMain
	 * @return
	 */
	ResultUtils setCert(SetCertMain setCertMain);

	/***
	 * 证书签名
	 * @param algorithmType  证书算法 sm2 rsa
	 * @param certFile 证书文件
	 * @param originalText 签名文本
	 * @param passWord 证书密码
	 * @return
	 */
	ResultUtils signSm2Cert( MultipartFile certFile, String originalText, String passWord);

	/****
	 * sm2验签
	 * @param publicKey 公钥
	 * @param originalText 签名原文
	 * @param signData 签名值
	 * @return
	 */
	ResultUtils verifySM2Cert(String publicKey, String originalText, String signData);
	
	/***
	 * rsa验签
	 * @param certFile	证书文件
	 * @param passWord	证书密码
	 * @param originalText 签名原文
	 * @param signData 签名值
	 * @return
	 */
	ResultUtils verifyRSACert(MultipartFile certFile, String passWord, String originalText, String signData);


	/*****
	 * 分页查询出证书信息
	 * @param mapParam
	 * @return
	 */
	List<BuCertInfo> selectByDataList(Map<String, Object> mapParam);
	
	/***
	 * 根据证书Id查询出证书信息
	 * @param id
	 * @return
	 */
	BuCertInfo selectById(String id);

	
}
